Field of Technology
This disclosure relates to computer software systems for computer aided design, and more particularly to computer aided design software which include in-context modeling.
Background
Two basic components of parametric Computer Aided Design (CAD) systems are part models and assembly models. Parts are generated from an instruction set called a parametric history. Each history is an ordered list of features, parameters and relationships needed to create one or more parts. Assemblies consist of parts and relationships between parts which position them and allow each component (instances of parts) to move within prescribed constraints. Parts are typically designed in a separate modeling environment (such as a computer graphical display editing window) from other parts, as each part has a unique parametric history. Assemblies are also typically designed in a separate modeling environment (such as a computer graphical display editing window), in which multiple parts can be positioned and connected through “mates.” These two distinct components and associated modeling environments make it challenging to model a part so that it references the geometry of other parts as well providing required motion to surrounding parts at the same time.
Often when designing complex mechanical mechanisms, designers start with some known shapes and position corresponding parts into an assembly. The geometry and position of these parts in the assembly is used to inform the shape of new parts. New parts are created from features of which one or more directly reference geometry that is dependent on the assembly position and composition. These are referred to as in-context references. For example layout sketches are often used to position standard components as well as provide geometry (sketch profiles) for the creation of new parts. When the sketch changes, these referenced parts are updated to reflect the changed mechanism.
In a fast paced design environment parts and assemblies are also modeled and modified by multiple designers often at the same time. That introduces another challenge to not stop other users from using an assembly while a user is designing a part in the context of same assembly.